Advanced Data Structure
▪ Stack 栈
– An ordered collection where data items are accessed based on LIFO (Last-In-First-Out) – push(item): add a new item onto the top of the stack – pop(): remove an existing item from the top of the stack – peek(): look at the top item of the stack; without modifying the stack▪ Queue
– An ordered collection where data items are accessed based on FIFO (First-In-First-Out) – Enqueue, dequeue, peek Append: append a new item at the rear (end) of the queue 存入 serve: remove an existing item from the front of the queue 取出▪ Heap
called Priority Queue – special kind of tree, the top element is the extreme max or min of all elements for min-heap – Add, serveTree
– Graph of nodes and edges: root, leaf, parent, child nodes – Tree search: BFS, DFS▪ Binary search tree (BST) – Definition: ▪ Nodes in left subtree < the root. ▪ Nodes in right subtree > the root. ▪ The left and right subtree each must also be a BST – Tree imbalance